using UnityEngine;

namespace Coffee.UIExtensions
{
    // [Assembly-CSharp.dll].Coffee.UIExtensions.Matrix2x3
    internal struct Matrix2x3
    {
        // Fields
        public float m00;
        public float m01;
        public float m02;
        public float m10;
        public float m11;
        public float m12;
        
        // Methods
        public Matrix2x3(UnityEngine.Rect rect, float cos, float sin)
        {
            float val_2 = rect.m_XMin.width;
            val_2 = rect.m_XMin.xMin / val_2;
            float val_3 = (-0.5f) - val_2;
            float val_15 = rect.m_XMin.yMin;
            float val_5 = rect.m_XMin.height;
            val_5 = val_15 / val_5;
            val_15 = (-0.5f) - val_5;
            float val_6 = rect.m_XMin.width;
            val_6 = cos / val_6;
            this = val_6;
            float val_7 = rect.m_XMin.height;
            val_7 = (-sin) / val_7;
            float val_10 = (val_3 * cos) - (val_15 * sin);
            val_10 = val_10 + 0.5f;
            this.m01 = val_7;
            this.m02 = val_10;
            float val_11 = rect.m_XMin.width;
            val_11 = sin / val_11;
            this.m10 = val_11;
            float val_12 = rect.m_XMin.height;
            float val_13 = val_3 * sin;
            val_13 = val_13 + (val_15 * cos);
            val_12 = cos / val_12;
            val_13 = val_13 + 0.5f;
            this.m11 = val_12;
            this.m12 = val_13;
        }
        public static UnityEngine.Vector2 op_Multiply(Coffee.UIExtensions.Matrix2x3 m, UnityEngine.Vector2 v)
        {
            float val_4 = m.m00;
            float val_5 = m.m01;
            val_4 = S0 * val_4;
            val_5 = S1 * val_5;
            float val_2 = S1 * m.m11;
            val_4 = val_4 + val_5;
            val_2 = (S0 * m.m10) + val_2;
            float val_3 = m.m02 + val_4;
            val_2 = m.m12 + val_2;
            return (UnityEngine.Vector2)m;
        }
    
    }

}
